package io;

import java.io.File;
import java.io.FilenameFilter;
import java.util.Arrays;
import java.util.regex.Pattern;

/**
 * @author youjia xu
 * data:2023/11/25 7:43
 * @since
 * 展示文件列表，通过正则表达式选择文件，pattern ： *.java
 **/
public class DirList {
    public static void main(String[] args) {
        //只创建当前路径
        File path = new File("D:\\gitRepositories\\quartz\\quartz-core\\src\\test\\java\\org\\quartz");
        String[] list;
        if(args.length == 0){
            list = path.list();
        }else{
            //匹配当前路径下的文件和文件夹
            list = path.list(new FileFilter(args[0]));
        }

        Arrays.sort(list,String.CASE_INSENSITIVE_ORDER);
        for(String dirItem:list){
            System.out.println(dirItem);

        }
    }


    static class FileFilter implements FilenameFilter {
        private Pattern pattern ;
        public FileFilter(String regex){
            pattern = Pattern.compile(regex);  // 如何创建正在
        }

        @Override
        public boolean accept(File dir, String name) {
            return pattern.matcher(name).matches();  //正则如何使用
        }

    }
}
